﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace Modelo
{
    public class Celdas
    {
        private static Celda BuscarCeldaEnMapa(int coordenadaX, int coordenadaY,Mapa UnMapa)
        { 
            if( (UnMapa.obtenerCeldasX() < coordenadaX) | (UnMapa.obtenerCeldasY() < coordenadaY))
                throw new Exception ("No hay tantas celdas en el mapa");
            Posicion unaPosicion = new Posicion(coordenadaX,coordenadaY);
            return UnMapa.obtenerCelda(unaPosicion);
        }
        public static Celda Obtenercelda(Posicion UnaPocision, Mapa UnMapa){
            //devulve la celda correspodiente a una posicion
            int posX = UnaPocision.getX();
            int posY = UnaPocision.getY();

            if ((posX > UnMapa.getCantPuntosX()) | (posY > UnMapa.getCantPuntosY()))
            {
                throw new Exception("Ese punto no pertenece al mapa");
            }
            int tamanioCelda = UnMapa.getTamCelda();
            int celdaX = 0;
            int celdaY = 0;

            celdaX = posX / tamanioCelda;
            celdaY = posY / tamanioCelda;
               

            return BuscarCeldaEnMapa(celdaX,celdaY,UnMapa);

            
        }
    }
}
